home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 January: Mac OS SDK / Dev.CD Jan 96 SDK / Dev.CD Jan 96 SDK1.toast / Development Kits (Disc 1) / QuickDraw™ GX / Programming Stuff / Sample Code / Printing Samples / Printer Drivers… / LaserWriterIIsc (New GX v1.1) / OldAPIResources.r < prev    next >
Encoding:
Text File  |  1995-04-10  |  28.7 KB  |  1,041 lines  |  [TEXT/MPS ]

  1. /* ------------------------------------------------------------------------------
  2. FILENAME
  3.     OldAPIResources.r
  4.  
  5. DESCRIPTION
  6.     This module contains the LaserWriter SC resource constants and types that
  7.     are needed to support the old (i.e. QuickDraw) application printing interface.
  8.     
  9.     Note: resources specific to the old API (e.g. print and style dialog resources)
  10.     must retain the original resource ID's (e.g. -8192).  Don't set these resource
  11.     ID's to be based upon printingDriverBaseID.  Also note that all resources
  12.     should be designated to load into the system heap.
  13.         
  14. COPYRIGHT
  15.      Copyright Apple Computer, Inc. 1988-1992
  16.      All rights reserved. 
  17.     
  18. -------------------------------------------------------------------------------- */
  19.  
  20. // System 7.0 Compatible
  21. #define SystemSevenOrLater        1
  22.  
  23. // Include System Resource Definitions
  24. #include "Types.r"
  25. #include "SysTypes.r"
  26. #include "BalloonTypes.r"
  27.  
  28. // Include the LaserWriter SC driver constants that are used in the resources 
  29. #include "LaserSCResources.h"
  30.  
  31. // Include the public QuickDraw GX printing files 
  32. #include "PrintingResTypes.r"
  33.  
  34.  
  35. /*********************************************************************************
  36.  *                                    TYPES                                                               *
  37.  *********************************************************************************/
  38.  
  39. type 'PREC' (0)             // LaserWriter SC - Old Style Print Record Definition that should be compatible with Syste, 7.0 version of LW SC driver
  40. {
  41.     integer = 3;                                        //iPrVersion - 3 = last version of LW SC driver before QuickDraw GX version
  42.     
  43.     
  44.                                                             //PrInfo 
  45.     integer;                                                    //    iDev 
  46.     integer;                                                    //    iVRes 
  47.     integer;                                                    //    iHRes 
  48.     rect;                                                        //    rPage 
  49.     
  50.     
  51.     rect;                                                    //rPaper 
  52.     
  53.     
  54.                                                             //PrStl 
  55.     byte;                                                        //    wDev refNum    
  56.     boolean NoIWf7, IWf7;                                //    wDev f7 (NOT USED) 
  57.     boolean NoIWDftBits, IWDftBits;                    //    wDev f6, fDraftBits (NOT USED) 
  58.     boolean NoIWResSet, IWResSet;                        //    wDev f5, fResSet (NOT USED) 
  59.     boolean NoIWScroll, IWScroll;                        //    wDev f4, fScroll (NOT USED) 
  60.     boolean NoIW2xZoom, IW2xZoom;                        //    wDev f3, f2xZoom (NOT USED) 
  61.     boolean NoIWSqPix, IWSqPix;                        //    wDev f2, fSqPix (NOT USED) 
  62.     boolean Landscape, Portrait;                        //    wDev f1, fPortrait 
  63.     boolean IWLowRes, IWHighRes;                        //    wDev f0, fHiRes (NOT USED) 
  64.     integer;                                                    //    iPageV 
  65.     integer;                                                    //    iPageH 
  66.     byte;                                                        //    bPort 
  67.     byte HandFeed, AutoFeed, Other1, Other2;        //    feed: the old SC driver defined AutoFeed as 1 and Manual as 0.    
  68.     
  69.     
  70.                                                             //PrInfoPT 
  71.     integer = 0xFD00;                                        //    iDev: Font mgr/QuickDraw device code
  72.     integer;                                                    //    iVRes 
  73.     integer;                                                    //    iHRes 
  74.     rect;                                                        //    rPage 
  75.     
  76.     
  77.                                                             //PrXInfo 
  78.     integer;                                                    // iCopies 
  79.     boolean Nof15, Yesf15;                                //    wFlags f15, f?? 
  80.     boolean Nof14, Yesf14;                                //    wFlags f14, f?? 
  81.     boolean Nof13, Yesf13;                                //    wFlags f13, f?? 
  82.     boolean Nof12, Yesf12;                                //    wFlags f12, f?? 
  83.     boolean Nof11, Yesf11;                                //    wFlags f11, f?? 
  84.     boolean Nof10, Yesf10;                                //    wFlags f10, f?? 
  85.     boolean NoGrayScl, YesGrayScl;                    //    wFlags f9,  fGrayScl {B10}    
  86.     boolean YesAbortCk, NoAbortCk;                    //    wFlags f8,  fNoAbortCheck {B10}    
  87.     boolean NoScale25, Scale25;                        //    wFlags f7,  fScale25    
  88.     boolean NoDftBits, DftBits;                        //    wFlags f6,  fDraftBits 
  89.     boolean NoResSet, ResSet;                            //    wFlags f5,  fResSet 
  90.     boolean NoBits4x, Bits4x;                            //    wFlags f4,  f4xBits 
  91.     boolean NoScale50, Scale50;                        //    wFlags f3,  fScale50    
  92.     boolean NoScale75, Scale75;                        //    wFlags f2,  fScale75    
  93.     boolean XLandscape, XPortrait;                    //    wFlags f1,  fPortrait (NOT USED)
  94.     boolean NoTxSmooth, TxSmooth;                        //    wFlags f0,  fTxSmooth 
  95.     integer;                                                    //    iBandh 
  96.     integer;                                                    //    iDevBytes 
  97.     integer;                                                    //    iBands 
  98.     byte dbl=-2, norm=0;                                    //    bPatScale 
  99.     byte;                                                        //    bULThick    
  100.     byte;                                                        //    bULOffset 
  101.     byte;                                                        //    bULShadow 
  102.     byte scanTB, scanBT, scanLR, scanRL;            //    scan 
  103.     fill byte;                                                //    bXInfoX 
  104.     
  105.     
  106.                                                             //PrJob 
  107.     integer;                                                    //    iFstPage    
  108.     integer;                                                    //    iLstPage    
  109.     integer;                                                    //    iFakeCopies    
  110.     byte Draft, Spool, User1, User2;                    //    bJDocLoop 
  111.     byte;                                                        //    fFromUsr    
  112.     longint;                                                    //    pIdleProc 
  113.     longint;                                                    //    pFileName 
  114.     integer;                                                    //    iFileVol    
  115.     byte;                                                        //    bFileVers 
  116.     byte;                                                        //    bJobFlags 
  117.                                                             // Make 120 byte total 
  118.     fill word [5];                                            // not used
  119.     rect;                                                        // contains a copy of rPaper
  120.     fill word [10];                                        // not used    
  121. };
  122.  
  123.  
  124. /*********************************************************************************
  125.  *                                    RESOURCES                                                           *
  126.  *********************************************************************************/
  127.  
  128. /*************************** Old API Message Override Resource **************************/
  129. // This overrideType resource tells the Printing Manager which old API messages we want to override, 
  130. // as well as some new backward compatibility messages. 
  131.  
  132. resource gxOverrideType (gxDriverCompatibilityOverrideID, sysHeap)
  133. {
  134.     {
  135.         gxPrValidate,                     kOldAPISegmentID, kFirstMsgJumpTableOffset,
  136.         gxConvertPrintRecordTo,     kOldAPISegmentID, kFirstMsgJumpTableOffset + 4,
  137.         gxConvertPrintRecordFrom,     kOldAPISegmentID, kFirstMsgJumpTableOffset + 8,
  138.         gxPrOpenDoc,                     kOldAPISegmentID, kFirstMsgJumpTableOffset + 12,
  139.     };
  140. };
  141.  
  142.  
  143. /*************************** Old Application Compatibility Resource **************************/
  144. // This custType resource is used by the Printing Manager.  It defines some basic options for 
  145. // use with old applications.  Note: every driver should contain one of these resources. 
  146.  
  147. resource gxCustType (gxCustID, purgeable, sysHeap)
  148. {
  149.     kHorizHighRes,                        // horizontal device resolution (dpi) 
  150.     kVertHighRes,                         // vertical device resolution (dpi) 
  151.     laserWriterSC,                        // type of "upDriver" to use 
  152.     {4, 4},                                // pattern stretching factor. Set to 4 (nearest thing to 300 dpi/72 dpi) 
  153.     gxReplaceLineWidthTranslation + gxOptimizedTranslation + gxRasterTargetTranslation    // SC Style LineWidth comments 
  154. };
  155.  
  156.  
  157. /************************** PREC Resources **************************/
  158. // This PREC definition represents the default print record definition 
  159. // for the old LaserWriter SC driver. This resource is accessed by the 
  160. // Universal Dialog Handler. 
  161. #define    kVertRPaperDefault        1320
  162. #define    kHorizRPaperDefault        1020
  163.  
  164. resource 'PREC' (0, sysHeap)            // PREC 0 - Default print record definition for the old LaserWriter SC driver 
  165. {
  166.     // PrInfo 
  167.     0,
  168.     72,                    // app resolution
  169.     72,
  170.     {kRPageDefault},
  171.         
  172.     // rPaper 
  173.     {kRPaperDefault},
  174.     
  175.     // PrStl 
  176.     kPrinterID,
  177.     NoIWf7,
  178.     NoIWDftBits,
  179.     NoIWResSet,
  180.     NoIWScroll,
  181.     NoIW2xZoom,
  182.     NoIWSqPix,
  183.     Portrait,
  184.     IWHighRes,
  185.     kVertRPaperDefault,
  186.     kHorizRPaperDefault,
  187.     0,
  188.     AutoFeed,
  189.     
  190.     // PrInfoPT     
  191.     kVertHighExactRes,
  192.     kHorizHighExactRes,
  193.     {kRPageHighExactRes},
  194.     
  195.     // PrXInfo 
  196.     0,
  197.     Nof15,
  198.     Nof14,
  199.     Nof13,
  200.     Nof12,
  201.     Nof11,
  202.     Nof10,
  203.     YesGrayScl,
  204.     YesAbortCk,
  205.     NoScale25,
  206.     NoDftBits,
  207.     NoResSet,
  208.     NoBits4x,
  209.     NoScale50,
  210.     NoScale75,
  211.     XPortrait,
  212.     NoTxSmooth,
  213.     0,
  214.     0,
  215.     0,
  216.     kPatScale,
  217.     kULThick,
  218.     kULOffset,
  219.     kULShadow,
  220.     kScanDirection,
  221.     
  222.     // PrJob 
  223.     1,
  224.     9999,
  225.     1,
  226.     Draft,
  227.     1,
  228.     0,
  229.     0,
  230.     0,
  231.     0,
  232.     0,
  233.  
  234.     // PrintX
  235.     {kRPaperDefault}
  236. };
  237.  
  238.  
  239. // version string for old dialogs
  240. resource 'STR ' (-8190, sysHeap ) { "1.1" };
  241.  
  242. /************************** PrStlDialog Resources **************************/
  243. // These dialog related resources define the old LaserWriter SC's Style dialog. 
  244. // These resources are manipulated by the Universal Dialog Handler 
  245.  
  246. resource 'DLOG' (gxStlDialogResID, sysHeap)                // Style Dialog DLOG 
  247. {
  248.     {30, 20, 208, 492},
  249.     dBoxProc,
  250.     invisible,
  251.     noGoAway,
  252.     0x1,
  253.     gxStlDialogResID,
  254.     "Stl",
  255.     noAutoCenter
  256. };
  257.  
  258. resource 'DITL' (gxStlDialogResID, sysHeap)                // Style Dialog DITL 
  259. {
  260.     {    // array DITLarray: 21 elements 
  261.  
  262.         {8, 404, 27, 464}, Button { enabled, "OK" },
  263.         {35, 404, 54, 464}, Button { enabled, "Cancel" },
  264.         {4, 4, 20, 265}, StaticText { disabled, "!0 Page Setup" },        //    !0 substitutes the name of the driver
  265.         {20, 5, 24, 393}, UserItem { disabled },
  266.  
  267.         {88, 4, 104, 88}, StaticText { disabled, "Orientation:" },
  268.         {106, 4, 138, 36}, UserItem { enabled },            // Orientation 
  269.         {106, 41, 138, 73}, UserItem { enabled },            // Orientation 
  270.  
  271.         {32, 4, 48, 50}, StaticText { disabled, "Paper:" },
  272.         {32, 64, 48, 164}, RadioButton { enabled, "US Letter" },
  273.         {48, 64, 64, 164}, RadioButton { enabled, "US Legal" },
  274.         {32, 192, 48, 282}, RadioButton { enabled, "A4 Letter" },
  275.         {48, 192, 64, 282}, RadioButton { enabled, "B5 Letter" },
  276.         {64, 64, 80, 191}, RadioButton { enabled, "Nº 10 Envelope" },
  277.  
  278.         {88, 100, 104, 174}, StaticText { disabled, "Reduction:" },
  279.         {88, 250, 106, 458}, CheckBox { enabled, "Exact Bit Images (Shrink 4%)" },
  280.         
  281.         {4, 341, 19, 365}, UserItem { enabled },            // area for version number 
  282.         {0, 395, 27, 465}, UserItem { disabled },            // user item for OK button 
  283.  
  284.         {88, 174, 104, 234}, RadioButton { enabled, "100%" },
  285.         {103, 174, 119, 234}, RadioButton { enabled, "75%" },
  286.         {118, 174, 134, 234}, RadioButton { enabled, "50%" },
  287.         {133, 174, 149, 234}, RadioButton { enabled, "25%" }
  288.     }
  289. };
  290.  
  291. resource 'dctl' (gxStlDialogResID, sysHeap)                // Universal Dialog Handler dctl for Style Dialog 
  292. {
  293.     21,
  294.     {
  295.         Button {2, cancel},
  296.         Frill {3, printerName},
  297.         Frill {4, line},
  298.         Orientation {6, 7, 0, 0},
  299.         PaperSizes {0, 0, { 9, 10, 11, 12, 13 }},
  300.         Toggle {15, bPreciseBitmap},
  301.         Frill {16, version},
  302.         Frill {17, default},
  303.         Cluster {user0, {18, 19, 20, 21 }},
  304.     }
  305. };
  306.  
  307.  
  308.  
  309. // This resource is needed for proper use of color in Style dialog
  310. resource 'dctb' (gxStlDialogResID, sysheap, purgeable)
  311. {
  312.     {    /* array ColorSpec: 0 elements */
  313.     }
  314. };
  315.  
  316.  
  317. /************************** PrJobDialog Resources **************************/
  318. // These dialog related resources define the old LaserWriter SC's Print dialog. 
  319. // These resources are manipulated by the Universal Dialog Handler 
  320.  
  321. resource 'DLOG' (gxJobDialogResID, sysHeap)             // Job Dialog DLOG 
  322. {
  323.     {28, 26, 156, 500},
  324.     dBoxProc,
  325.     invisible,
  326.     noGoAway,
  327.     0x1,
  328.     gxJobDialogResID,
  329.     "Job",
  330.     noAutoCenter
  331. };
  332.  
  333. resource 'DITL' (gxJobDialogResID, sysHeap)             // Job Dialog DITL 
  334. {
  335.     {    // array DITLarray: 20 elements 
  336.         {8, 404, 27, 464}, Button { enabled, "Print" },
  337.         {35, 404, 54, 464}, Button { enabled, "Cancel" },
  338.         {4, 4, 20, 265}, StaticText { disabled, "!0 Print " },        //    !0 substitutes the name of the driver
  339.         {20, 5, 24, 393}, UserItem { disabled },
  340.         {94, 400, 114, 460}, UserItem { disabled },
  341.  
  342.         {38, 112, 54, 157}, StaticText { disabled, "Pages:" },
  343.         {38, 157, 54, 197}, RadioButton { enabled, "All" },
  344.         {38, 200, 54, 260}, RadioButton { enabled, "From:" },
  345.         {38, 264, 54, 296}, EditText { enabled, "" },
  346.         {38, 304, 54, 326}, StaticText { disabled, "To:" },
  347.  
  348.         {38, 332, 54, 364}, EditText { enabled, "" },
  349.         {38, 4, 54, 54}, StaticText { disabled, "Copies:" },
  350.         {38, 56, 54, 88}, EditText { disabled, "1" },
  351.         {68, 4, 84, 98}, StaticText { disabled, "Paper Source:" },
  352.         {68, 100, 84, 222}, RadioButton { enabled, "Paper Cassette" },
  353.  
  354.         {68, 230, 84, 333}, RadioButton { enabled, "Manual Feed" },
  355.         {4, 341, 19, 365}, UserItem { enabled },
  356.         {0, 395, 27, 465}, UserItem { disabled },
  357.     }
  358. };
  359.  
  360. resource 'dctl' (gxJobDialogResID, sysHeap)                // Universal Dialog Handler dctl for Job Dialog 
  361. {
  362.     19,
  363.     {
  364.         Button {2,    cancel },
  365.         Frill {3, printerName },
  366.         Frill {4, line },
  367.         Copies {13 },
  368.         PageRange {7, 8, 9, 11 },
  369.         Cluster {feed, { 15, 16 } },
  370.         Frill {17, version },
  371.         Frill {18, default },
  372.         DialogBtn {19, 3, 3},
  373.     }
  374. };
  375.  
  376.  
  377. // This resource is needed for proper use of color in Job dialog
  378. resource 'dctb' (gxJobDialogResID, sysheap, purgeable)
  379. {
  380.     {    /* array ColorSpec: 0 elements */
  381.     }
  382. };
  383.  
  384.  
  385. /*************************** Old API Paper Type Definitions **************************/
  386. // These paper type definitions represent the settings of the old LaserWriter SC's paper 
  387. // sizes. 
  388.  
  389. resource 'ptyp' (kOldPaperTypesID + 1, sysHeap)            // US Letter 
  390. {
  391.     "US Letter",
  392.     
  393.     // page rectangle 
  394.     0x00000000,                // 0.0 
  395.     0x00000000,                // 0.0 
  396.     0x02400000,                // 8.0 
  397.     0x02FB0000,                // 10.5972 
  398.  
  399.     // paper rectangle 
  400.     0xFFEE0000,                // -0.25 
  401.     0xFFF10000,                // -0.25 
  402.     0x02520000,                // 8.24 
  403.     0x03090000,                // 10.75 
  404.     
  405.     usLetterBase,
  406.     kDrvrCreatorType,
  407.  
  408.     inch,
  409.     oldStylePaperType,
  410.     isDefaultPaperType,
  411.     {}
  412. };
  413.  
  414. resource 'ptyp' (kOldPaperTypesID + 2, sysHeap)            // US Legal 
  415. {
  416.     "US Legal",
  417.     
  418.     // page rectangle 
  419.     0x00000000,                    /* 6.75 x 12.0 */
  420.     0x00000000,                
  421.     0x01E60000,                    
  422.     0x03600000,                
  423.  
  424.     // paper rectangle 
  425.     0xFFF1D70A,                // -0.196667 
  426.     0xFFF851F0,                // -0.106666 
  427.     0x0255D70C,                // 8.30333 
  428.     0x03E851F0,                // 13.8933 
  429.  
  430.     usLegalBase,
  431.     kDrvrCreatorType,
  432.  
  433.     inch,    
  434.     oldStylePaperType,
  435.     notDefaultPaperType,
  436.     {}
  437. };
  438.  
  439. resource 'ptyp' (kOldPaperTypesID + 3, sysHeap)            // A4 Letter 
  440. {
  441.     "A4 Letter",
  442.     
  443.     // page rectangle 
  444.     0x00000000,                // 8.00 x 11.25 
  445.     0x00000000,
  446.     0x02400000,
  447.     0x032A0000,
  448.  
  449.     // paper rectangle 
  450.     0xFFF70000,                //    8.25 x 11.66
  451.     0xFFF10000,
  452.     0x02490000,
  453.     0x0338C298,
  454.     
  455.     a4LetterBase,
  456.     kDrvrCreatorType,
  457.  
  458.     inch,    
  459.     oldStylePaperType,
  460.     notDefaultPaperType,
  461.     {}
  462. };
  463.  
  464. resource 'ptyp' (kOldPaperTypesID + 4, sysHeap)            // B5 Letter 
  465. {
  466.     "B5 Letter",
  467.     
  468.     // page rectangle 
  469.     0x00000000,                // 6.6667 x 9.4167 
  470.     0x00000000,                
  471.     0x01DFC290,                
  472.     0X02C251EC,                
  473.  
  474.     // paper rectangle 
  475.     -0x14A3D7,                // 6.9306 x 9.8333
  476.     -0x73338,                
  477.     0x01F46667,                
  478.     0x02C98524,                
  479.  
  480.     b5LetterBase,
  481.     kDrvrCreatorType,
  482.  
  483.     inch,    
  484.     oldStylePaperType,
  485.     notDefaultPaperType,
  486.     {}
  487. };
  488.  
  489. resource 'ptyp' (kOldPaperTypesID + 5, sysHeap)            // Nº 10 Envelope 
  490. {
  491.     "Nº 10 Envelope",
  492.     
  493.     // page rectangle 
  494.     0x00000000,                    // 9.1 x 3.73 
  495.     0x00000000,                    
  496.     0x010C8F5C,                    
  497.     0x028F3333,                    
  498.     
  499.     // paper rectangle 
  500.     0xFFF1BE77,                    // 9.5 x 4.125 
  501.     0xFFF1999A,                    
  502.     0x011AD0E5,                    
  503.     0x029D9999,                    
  504.  
  505.     unknownBase,
  506.     kDrvrCreatorType,
  507.  
  508.     inch,
  509.     oldStylePaperType,
  510.     notDefaultPaperType,
  511.     {}
  512. };
  513.  
  514.  
  515. /*************************** Help Manager Resource Definitions **************************/
  516. // These resources define the help text that will be displayed by the System 7 Help Manager
  517. // if help is enabled and on eof the print dialogs is visible.
  518.  
  519.  
  520. // The 'hwin' resource is used by the Help Manager and it links 'hdlg'
  521. // resources to the dialogs to which they apply.  In this case, we have
  522. // two 'hwin' list entries that reference the two old app. print dialogs.
  523.  
  524. resource 'hwin' (kHwinRsrcID, purgeable, sysheap)
  525. {
  526.     HelpMgrVersion,
  527.     hmDefaultOptions,
  528.     {
  529.         gxStlDialogResID, 'hdlg', 3, "Stl",        // Reference to PrStlDialog's 'hdlg' resource
  530.         gxJobDialogResID, 'hdlg', 3, "Job"        // Reference to PrJobDialog's 'hdlg' resource
  531.     }
  532. };
  533.  
  534.  
  535. // The 'hfdr' resource tells the Finder that we have help information it should
  536. // display when the user moves the mouse over the LaserWriter IISC icon when help is enabled.
  537.  
  538. resource 'hfdr' (kHfdrRsrcID, purgeable, sysheap)
  539. {
  540.     HelpMgrVersion,
  541.     hmDefaultOptions,
  542.     0,                    // Default balloon definition function
  543.     0,                    // Default variation code
  544.     {
  545.         HMSTRResItem
  546.         {
  547.             kFinderHelpSTRID    // Resource ID of help string ('STR ') to display
  548.         }
  549.     }
  550. };
  551.  
  552.  
  553. // This string resource contains the help text that will be displayed in the Finder if you
  554. // move the mouse over the LaserWriter IISC icon when help is enabled.
  555.  
  556. resource 'STR ' (kFinderHelpSTRID, purgeable, sysheap)
  557. {
  558.     "LaserWriter IISC\n\n"
  559.     "To enable your Macintosh to print documents on a LaserWriter IISC connected to the SCSI port, place this file in your Extensions folder.";
  560. };
  561.  
  562.  
  563. // This 'hdlg' resource tells the system what help strings to display when the user moves
  564. // the mouse over the LaserWriter IISC's Style dialog with help enabled.
  565.  
  566. resource 'hdlg' (gxStlDialogResID, purgeable, sysheap)
  567. {
  568.     HelpMgrVersion,
  569.     0,                                        // Start help with the first item in the corresponding 'DITL'
  570.     hmDefaultOptions,
  571.     0,                                        // Default balloon definition function
  572.     0,                                        // Ballon variation code - hang below and to the right
  573.     HMStringResItem                    //    This list references help strings to be used for any missing items
  574.     {
  575.         {0, 0},
  576.         {0, 0, 0, 0},
  577.         gxStlDialogResID, 1,
  578.         gxStlDialogResID, 2,
  579.         gxStlDialogResID, 3,
  580.         gxStlDialogResID, 4
  581.     },
  582.     {
  583.         /* [1] */
  584.         HMStringResItem 
  585.         {                                    // OK button
  586.             {0, 0},                        //    default tip: middle right edge of item rect
  587.             {0, 0, 0, 0},                //    default alternate rectangle: use item rect
  588.             gxStlDialogResID, 5,
  589.             gxStlDialogResID, 6,
  590.             gxStlDialogResID, 7,
  591.             gxStlDialogResID, 8
  592.         },
  593.         /* [2] */
  594.         HMStringResItem 
  595.         {                                    // Cancel button
  596.             {0, 0},    
  597.             {0, 0, 0, 0},
  598.             gxStlDialogResID, 9,
  599.             gxStlDialogResID, 10,
  600.             gxStlDialogResID, 11,
  601.             gxStlDialogResID, 12
  602.         },
  603.         /* [3] */
  604.         HMSkipItem 
  605.         {                                    // Title of the dialog - LaserWriterIISC Page Setup
  606.         },
  607.         /* [4] */
  608.         HMSkipItem 
  609.         {                                    //    Horizontal line
  610.         },
  611.         /* [5] */
  612.         HMSkipItem 
  613.         {                                    // Orientation string
  614.         },
  615.         /* [6] */
  616.         HMStringResItem
  617.         {                                    // Portrait orientation
  618.             {0, 0},
  619.             {0, 0, 0, 0},
  620.             gxStlDialogResID, 33,
  621.             gxStlDialogResID, 34,
  622.             gxStlDialogResID, 35,
  623.             gxStlDialogResID, 36
  624.         },
  625.         /* [7] */    
  626.         HMStringResItem 
  627.         {                                    // Landscape orientation
  628.             {0, 0},
  629.             {0, 0, 0, 0},
  630.             gxStlDialogResID, 37,
  631.             gxStlDialogResID, 38,
  632.             gxStlDialogResID, 39,
  633.             gxStlDialogResID, 40
  634.         },
  635.         /* [8] */
  636.         HMSkipItem 
  637.         {                                    // Paper string
  638.         },
  639.         /* [9] */
  640.         HMStringResItem 
  641.         {                                    //    US Letter button
  642.             {0, 0},
  643.             {0, 0, 0, 0},
  644.             gxStlDialogResID, 13,
  645.             gxStlDialogResID, 14,
  646.             gxStlDialogResID, 15,
  647.             gxStlDialogResID, 16
  648.         },
  649.         /* [10] */
  650.         HMStringResItem 
  651.         {                                    //    US Legal button
  652.             {0, 0},
  653.             {0, 0, 0, 0},
  654.             gxStlDialogResID, 21,
  655.             gxStlDialogResID, 22,
  656.             gxStlDialogResID, 23,
  657.             gxStlDialogResID, 24
  658.         },
  659.         /* [11] */
  660.         HMStringResItem 
  661.         {                                    //    A4 Letter button
  662.             {0, 0},
  663.             {0, 0, 0, 0},
  664.             gxStlDialogResID, 17,
  665.             gxStlDialogResID, 18,
  666.             gxStlDialogResID, 19,
  667.             gxStlDialogResID, 20
  668.         },
  669.         /* [12] */
  670.         HMStringResItem 
  671.         {                                    //    B5 Letter button
  672.             {0, 0},
  673.             {0, 0, 0, 0},
  674.             gxStlDialogResID, 25,
  675.             gxStlDialogResID, 26,
  676.             gxStlDialogResID, 27,
  677.             gxStlDialogResID, 28
  678.         },
  679.         /* [13] */
  680.         HMStringResItem 
  681.         {                                    // No. 10 Envelope button
  682.             {0, 0},
  683.             {0, 0, 0, 0},
  684.             gxStlDialogResID, 29,
  685.             gxStlDialogResID, 30,
  686.             gxStlDialogResID, 31,
  687.             gxStlDialogResID, 32
  688.         },
  689.         /* [14] */
  690.         HMStringResItem 
  691.         {                                    //    Reduction string
  692.             {0, 0},
  693.             {0, 0, 0, 0},
  694.             gxStlDialogResID, 33,
  695.             gxStlDialogResID, 34,
  696.             gxStlDialogResID, 35,
  697.             gxStlDialogResID, 36
  698.         },
  699.         /* [15] */
  700.         HMStringResItem 
  701.         {                                    // Exact bit images check box
  702.             {0, 0},
  703.             {0, 0, 0, 0},
  704.             gxStlDialogResID, 53,
  705.             gxStlDialogResID, 54,
  706.             gxStlDialogResID, 55,
  707.             gxStlDialogResID, 56
  708.         },
  709.         /* [16] */
  710.         HMSkipItem {                    //    Version number string
  711.  
  712.         },
  713.         /* [17] */
  714.         HMSkipItem 
  715.         {                                    //    User item for the OK button
  716.         },
  717.         /* [18] */
  718.         HMStringResItem 
  719.         {                                    //    100% reduction button
  720.             {0, 0},
  721.             {0, 0, 0, 0},
  722.             gxStlDialogResID, 41,
  723.             gxStlDialogResID, 42,
  724.             gxStlDialogResID, 43,
  725.             gxStlDialogResID, 44
  726.         },
  727.         /* [19] */
  728.         HMStringResItem 
  729.         {                                    //    75% reduction button
  730.             {0, 0},
  731.             {0, 0, 0, 0},
  732.             gxStlDialogResID, 45,
  733.             gxStlDialogResID, 46,
  734.             gxStlDialogResID, 47,
  735.             gxStlDialogResID, 48
  736.         },
  737.         /* [20] */
  738.         HMStringResItem 
  739.         {                                    // 50% reduction button
  740.             {0, 0},
  741.             {0, 0, 0, 0},
  742.             gxStlDialogResID, 49,
  743.             gxStlDialogResID, 50,
  744.             gxStlDialogResID, 51,
  745.             gxStlDialogResID, 52
  746.         },
  747.         /* [21] */
  748.         HMStringResItem
  749.         {                                    // 25% reduction button
  750.             {0, 0},
  751.             {0, 0, 0, 0},
  752.             gxStlDialogResID, 57,
  753.             gxStlDialogResID, 58,
  754.             gxStlDialogResID, 59,
  755.             gxStlDialogResID, 60
  756.         }
  757.     }
  758. };
  759.  
  760. // This 'hdlg' resource tells the system what help strings to display when the user moves
  761. // the mouse over the LaserWriter IISC's Print dialog with help enabled.
  762.  
  763. resource 'hdlg' (gxJobDialogResID, purgeable, sysheap)
  764. {
  765.     HelpMgrVersion,
  766.     0,                                        // Start help with the first item in the corresponding 'DITL'
  767.     hmDefaultOptions,
  768.     0,                                        // Default balloon definition function
  769.     0,                                        // Ballon variation code - hang below and to the right
  770.     HMStringResItem                    //    This list references help strings to be used for any missing items
  771.     {
  772.         {0, 0},
  773.         {0, 0, 0, 0},
  774.         gxJobDialogResID, 1,
  775.         gxJobDialogResID, 2,
  776.         gxJobDialogResID, 3,
  777.         gxJobDialogResID, 4
  778.     },
  779.     {
  780.         /* [1] */
  781.         HMStringResItem
  782.         {                                    // Print button
  783.             {0, 0},
  784.             {0, 0, 0, 0},
  785.             gxJobDialogResID, 5,
  786.             gxJobDialogResID, 6,
  787.             gxJobDialogResID, 7,
  788.             gxJobDialogResID, 8
  789.         },
  790.         /* [2] */
  791.         HMStringResItem
  792.         {                                    // Cancel button
  793.             {0, 0},
  794.             {0, 0, 0, 0},
  795.             gxJobDialogResID, 9,
  796.             gxJobDialogResID, 10,
  797.             gxJobDialogResID, 11,
  798.             gxJobDialogResID, 12
  799.         },
  800.         /* [3] */
  801.         HMSkipItem
  802.         {                                    // Title of the print dialog
  803.         },
  804.         /* [4] */
  805.         HMSkipItem
  806.         {                                    // Horizontal line
  807.         },
  808.         /* [5] */
  809.         HMSkipItem
  810.         {                                    // A dummy user item
  811.         },
  812.         /* [6] */
  813.         HMSkipItem
  814.         {                                    // Pages string
  815.         },
  816.         /* [7] */
  817.         HMStringResItem                
  818.         {                                    // All button
  819.             {0, 0},
  820.             {0, 0, 0, 0},
  821.             gxJobDialogResID, 17,
  822.             gxJobDialogResID, 18,
  823.             gxJobDialogResID, 19,
  824.             gxJobDialogResID, 20
  825.         },
  826.         /* [8] */
  827.         HMStringResItem
  828.         {                                    // From button
  829.             {0, 0},
  830.             {0, 0, 0, 0},
  831.             gxJobDialogResID, 21,
  832.             gxJobDialogResID, 22,
  833.             gxJobDialogResID, 23,
  834.             gxJobDialogResID, 24
  835.         },
  836.         /* [9] */
  837.         HMStringResItem 
  838.         {                                    // Edittext field for the starting page number
  839.             {0, 0},
  840.             {0, 0, 0, 0},
  841.             gxJobDialogResID, 25,
  842.             gxJobDialogResID, 26,
  843.             gxJobDialogResID, 27,
  844.             gxJobDialogResID, 28
  845.         },
  846.         /* [10] */
  847.         HMSkipItem 
  848.         {                                    // To string
  849.         },
  850.         /* [11] */
  851.         HMStringResItem
  852.         {                                    // Edittext field for the ending page number
  853.             {0, 0},
  854.             {0, 0, 0, 0},
  855.             gxJobDialogResID, 29,
  856.             gxJobDialogResID, 30,
  857.             gxJobDialogResID, 31,
  858.             gxJobDialogResID, 32
  859.         },
  860.         /* [12] */
  861.         HMSkipItem 
  862.         {                                    // Copies string
  863.         },
  864.         /* [13] */
  865.         HMStringResItem 
  866.         {                                    //    Edittext for the number of copies
  867.             {0, 0},
  868.             {0, 0, 0, 0},
  869.             gxJobDialogResID, 13,
  870.             gxJobDialogResID, 14,
  871.             gxJobDialogResID, 15,
  872.             gxJobDialogResID, 16
  873.         },
  874.         /* [14] */
  875.         HMSkipItem 
  876.         {                                    //    Paper Source string
  877.         },
  878.         /* [15] */
  879.         HMStringResItem 
  880.         {                                    // Paper cassette button
  881.             {0, 0},
  882.             {0, 0, 0, 0},
  883.             gxJobDialogResID, 33,
  884.             gxJobDialogResID, 34,
  885.             gxJobDialogResID, 35,
  886.             gxJobDialogResID, 36
  887.         },
  888.         /* [16] */
  889.         HMStringResItem 
  890.         {                                    // Manual Feed button
  891.             {0, 0},
  892.             {0, 0, 0, 0},
  893.             gxJobDialogResID, 37,
  894.             gxJobDialogResID, 38,
  895.             gxJobDialogResID, 39,
  896.             gxJobDialogResID, 40
  897.         },
  898.         /* [17] */
  899.         HMSkipItem 
  900.         {                                    // Version string
  901.         },
  902.         /* [18] */
  903.         HMSkipItem 
  904.         {                                    // User item surrounding Print button
  905.         }
  906.     }
  907. };
  908.  
  909. // This 'STR#' resource contains the help strings that are referenced in the 'hdlg' resource
  910. // that corresponds to the PrStlDialog.
  911.  
  912. resource 'STR#' (gxStlDialogResID, purgeable, sysheap)
  913. {
  914.     {
  915.         /* [1] */    "Missing enabled item in hdlg -8192",
  916.         /* [2] */    "Missing disabled item in hdlg -8192",
  917.         /* [3] */    "Missing checked item in hdlg -8192",
  918.         /* [4] */    "Missing other item in hdlg -8192",
  919.         /* [5] */    "To confirm the settings in this box and close the box, click this button (or press the Return or Enter key).",
  920.         /* [6] */    "",
  921.         /* [7] */    "",
  922.         /* [8] */    "",
  923.         /* [9] */    "To cancel any changes you have made to the settings in this box and close the box, click this button.",
  924.         /* [10] */    "",
  925.         /* [11] */    "",
  926.         /* [12] */    "",
  927.         /* [13] */    "To print your document with standard U.S. letter paper (8 1/2 by 11 inches), click this button.",
  928.         /* [14] */    "",
  929.         /* [15] */    "When this button is selected, your document is set up for standard U.S. letter "
  930.                         "paper (8 1/2 by 11 inches).",
  931.         /* [16] */    "",
  932.         /* [17] */    "To print your document with A4 paper (a standard European letter size, 8 1/2 by "
  933.                         "11 2/3 inches), click this button.",
  934.         /* [18] */    "",
  935.         /* [19] */    "When this button is selected, your document is set up for A4 paper (a standard "
  936.                         "European letter size, 8 1/2 by 11 2/3 inches).",
  937.         /* [20] */    "",
  938.         /* [21] */    "To print your document with U.S. legal paper (8 1/2 by 14 inches), click this button.",
  939.         /* [22] */    "",
  940.         /* [23] */    "When this button is selected, your document will be set up for U.S. legal paper (8 1/2 by 14 inches).",
  941.         /* [24] */    "",
  942.         /* [25] */    "To print your document with B5 paper (a standard European letter size, approximately 6 by 10 inches), click this button.",
  943.         /* [26] */    "",
  944.         /* [27] */    "When this button is selected, your document is set up for B5 paper (a standard "
  945.                         "European letter size, approximately 6 by 10 inches).",
  946.         /* [28] */    "",
  947.         /* [29] */    "To print your document on number 10 (U.S. business-size) envelopes, click this button.",
  948.         /* [30] */    "",
  949.         /* [31] */    "When this button is selected, your document is set up for number 10 (business-size) envelopes.",
  950.         /* [32] */    "",
  951.         /* [33] */    "To set up your document for portrait (tall) printing, click this icon.",
  952.         /* [34] */    "",
  953.         /* [35] */    "When this icon is selected, your document is set up for portrait (tall) printing.",
  954.         /* [36] */    "",
  955.         /* [37] */    "To set up your document for landscape (wide) printing, click this icon.",
  956.         /* [38] */    "",
  957.         /* [39] */    "When this icon is selected, your document is set up for landscape (wide) printing.",
  958.         /* [40] */    "",
  959.         /* [41] */    "To print your document full size (with no reduction), click this button.",
  960.         /* [42] */    "",
  961.         /* [43] */    "When this button is selected, your document is printed at full size (with no reduction).",
  962.         /* [44] */    "",
  963.         /* [45] */    "To print your document at three-quarters its actual size, click this button.",
  964.         /* [46] */    "To print your document at three-quarters its actual size, click this button.  Not "
  965.                         "available because the application program you are using always prints images at actual size.",
  966.         /* [47] */    "When this button is selected, your document is printed at three-quarters its actual size.",
  967.         /* [48] */    "",
  968.         /* [49] */    "To print your document at one-half its actual size, click this button.",
  969.         /* [50] */    "To print your document at one-half its actual size, click this button.  Not available "
  970.                         "because the application program you are using always prints images at actual size.",
  971.         /* [51] */    "When this button is selected, your document is printed at one-half its actual size.",
  972.         /* [52] */    "",
  973.         /* [53] */    "To reduce the printed document by 4% to correct for possible distortions in graphic "
  974.                         "images, click this box.",
  975.         /* [54] */    "To reduce the printed document by 4% to correct for distortions in graphic images, "
  976.                         "click this box.  Not available because the application program you are using "
  977.                         "makes this correction automatically.",
  978.         /* [55] */    "When this box is checked, the printed document is reduced by 4% to correct for "
  979.                         "possible distortions in graphic images.",
  980.         /* [56] */    "",
  981.         /* [57] */    "To print your document at one-fourth its actual size, click this button.",
  982.         /* [58] */    "To print your document at one-fourth its actual size, click this button.  Not available "
  983.                         "because the application program you are using always prints images at actual size.",
  984.         /* [59] */    "When this button is selected, your document is printed at one-fourth its actual size.",
  985.         /* [60] */    ""
  986.     }
  987. };
  988.  
  989.  
  990. // This 'STR#' resource contains the help strings that are referenced in the 'hdlg' resource
  991. // that corresponds to the PrJobDialog.
  992.  
  993.  
  994. resource 'STR#' (gxJobDialogResID, purgeable, sysheap)
  995. {
  996.     {
  997.         /* [1] */    "Missing enabled item in hdlg -8191",
  998.         /* [2] */    "Missing disabled item in hdlg -8191",
  999.         /* [3] */    "Missing checked item in hdlg -8191",
  1000.         /* [4] */    "Missing other item in hdlg -8191",
  1001.         /* [5] */    "To start printing using the settings in this box, click this button (or press the Return or Enter key).",
  1002.         /* [6] */    "",
  1003.         /* [7] */    "",
  1004.         /* [8] */    "",
  1005.         /* [9] */    "To cancel printing without saving any changes you made to settings in this box, click this button.",
  1006.         /* [10] */    "",
  1007.         /* [11] */    "",
  1008.         /* [12] */    "",
  1009.         /* [13] */    "",
  1010.         /* [14] */    "Type the number of copies to be printed here.",
  1011.         /* [15] */    "",
  1012.         /* [16] */    "",
  1013.         /* [17] */    "To print all the pages in the document, click this button.",
  1014.         /* [18] */    "",
  1015.         /* [19] */    "When this button is selected, all the pages in the document are printed.",
  1016.         /* [20] */    "",
  1017.         /* [21] */    "To print a specified range of pages, click this button and type the page numbers"
  1018.                         " in the boxes to the right.  To print one page, type its number in both boxes.",
  1019.         /* [22] */    "",
  1020.         /* [23] */    "When this button is selected, only the pages specified in the boxes to the right are printed.",
  1021.         /* [24] */    "",
  1022.         /* [25] */    "To specify a range of pages to be printed, type the number of the first page here.",
  1023.         /* [26] */    "",
  1024.         /* [27] */    "",
  1025.         /* [28] */    "",
  1026.         /* [29] */    "To specify a range of pages to be printed, type the number of the last page here.",
  1027.         /* [30] */    "",
  1028.         /* [31] */    "",
  1029.         /* [32] */    "",
  1030.         /* [33] */    "To print on paper automatically fed into the printer from the paper cassette, click this button.",
  1031.         /* [34] */    "",
  1032.         /* [35] */    "When this button is selected, the printer uses paper automatically fed from the paper cassette.",
  1033.         /* [36] */    "",
  1034.         /* [37] */    "To print on paper in the multipurpose tray, click this button.",
  1035.         /* [38] */    "",
  1036.         /* [39] */    "When this button is selected, the printer uses paper in the multipurpose tray.",
  1037.         /* [40] */    ""
  1038.     }
  1039. };
  1040.  
  1041.